﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using CruzDelSur.Dominio;
using NHibernate;
using NHibernate.Criterion;
using Common.Logging;

namespace CruzDelSur.Persistencia
{
    public class UbicacionDAO : BaseDAO<Ubicacion, string>, IUbicacionDAO
    {
        public ICollection<Ubicacion> ListarUbicaciones()
        {
            using (ISession sesion = NHibernateHelper.AbrirSesion())
            {
                ICollection<Ubicacion> resultado = sesion
                    .CreateQuery("from Ubicacion where Estado <> :estado")
                    .SetParameter("estado", "T")
                    .List<Ubicacion>();
                return resultado;
            }
        }
        public ICollection<Ubicacion> ListarUbicaciones2()
        {
            using (ISession sesion = NHibernateHelper.AbrirSesion())
            {
                ICollection<Ubicacion> resultado = sesion
                    .CreateSQLQuery("SELECT codUbicacion as Codigo, desUbicacion as Descripcion, estUbicacion as Estado, codCreadoPor as UsuarioCreado, fecCreado as FechaCreacion, codModificadoPor as UsuarioModificado, fecModificado as FechaModificacion FROM SE_TB_Ubicacion")
                    .SetResultTransformer(new NHibernate.Transform.AliasToBeanResultTransformer(typeof(Ubicacion)))
                    .List<Ubicacion>();
                return resultado;
            }
        }
    }
}